/*
 * commons is a based project implemented
 * Copyright (C) 2024 Jasmine
 */
package com.commons.log.domain;

import java.io.Serializable;

import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 操作日志DTO
 *
 * @author Jasmine
 * @version 1.0
 * @email Jasmine@gmail.com
 * @date 2022-08-11 09:09:39
 * @see LogRecord
 */
@Schema(name = "操作日志请求参数", description = "")
public class LogRecord implements Serializable {
    private static final long serialVersionUID = 1L;

    @Schema(name = "1.表示正确日志，2表示错误日志", example = "")
    private Integer type;
    /**
     * 模块
     */
    private String module;
    /**
     * 描述
     */
    private String desc;
    @Schema(name = "应用服务名称", example = "")
    private String serviceName;
    @Schema(name = "操作IP", example = "")
    private String ip;
    @Schema(name = "操作IP地址", example = "")
    private String ipAddress;
    /** 用户代理 ,客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等 */
    private String userAgent;
    /**
     * 操作系统
     */
    private String os;
    /**
     * 浏览器
     */
    private String browser;

    @Schema(name = "请求URI", example = "")
    private String requestUri;
    @Schema(name = "请求方法(eg:com.cloud.upms.controller.SysMenuController.add())", example = "")
    private String method;
    @Schema(name = "请求方式(POST/GET/**)", example = "")
    private String requestMethod;
    @Schema(name = "请求参数", example = "")
    private String requestParams;
    @Schema(name = "执行时间[单位ms]", example = "")
    private Long costTime;
    @Schema(name = "异常信息", example = "")
    private String exceptionInfo;
    @Schema(name = "响应结果", example = "")
    private String responseResult;

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getServiceName() {
        return serviceName;
    }

    public void setServiceName(String serviceName) {
        this.serviceName = serviceName;
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public String getIpAddress() {
        return ipAddress;
    }

    public void setIpAddress(String ipAddress) {
        this.ipAddress = ipAddress;
    }

    public String getUserAgent() {
        return userAgent;
    }

    public void setUserAgent(String userAgent) {
        this.userAgent = userAgent;
    }

    public String getRequestUri() {
        return requestUri;
    }

    public void setRequestUri(String requestUri) {
        this.requestUri = requestUri;
    }

    public String getMethod() {
        return method;
    }

    public void setMethod(String method) {
        this.method = method;
    }

    public String getRequestMethod() {
        return requestMethod;
    }

    public void setRequestMethod(String requestMethod) {
        this.requestMethod = requestMethod;
    }

    public Long getCostTime() {
        return costTime;
    }

    public void setCostTime(Long costTime) {
        this.costTime = costTime;
    }

    public String getExceptionInfo() {
        return exceptionInfo;
    }

    public void setExceptionInfo(String exceptionInfo) {
        this.exceptionInfo = exceptionInfo;
    }

    public String getResponseResult() {
        return responseResult;
    }

    public void setResponseResult(String responseResult) {
        this.responseResult = responseResult;
    }

    public String getModule() {
        return module;
    }

    public void setModule(String module) {
        this.module = module;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public String getRequestParams() {
        return requestParams;
    }

    public void setRequestParams(String requestParams) {
        this.requestParams = requestParams;
    }

    public String getOs() {
        return os;
    }

    public void setOs(String os) {
        this.os = os;
    }

    public String getBrowser() {
        return browser;
    }

    public void setBrowser(String browser) {
        this.browser = browser;
    }
}
